package com.hivekion.quartz.service;

import com.hivekion.common.entity.PagedResultVo;
import com.hivekion.quartz.domain.vo.*;

import java.util.List;

public interface IQuartzService {

      /**
       * 查询已启动的任务列表
       */
      List<JobRunViewVo> queryListOpen();

      List<JobRunViewVo> queryRuningList();

      Boolean addJob(JobCreateInputVo job);

      Boolean updateJob(JobUpdateInputVo job);

      /*
       * 启动定时任务
       * */
      default boolean startJob(String id) {
	    return false;
      }

      /**
       * 执行Job
       */
      Boolean runJob(String id);

      /**
       * 暂停Job
       */
      Boolean pauseJob(String id);

      /**
       * 唤醒Job
       */
      Boolean resumeJob(String id);

      /**
       * 删除Job
       */
      Boolean deleteJob(String id);

      Boolean removes(List<String> ids);

      PagedResultVo<JobViewVo> queryList(JobSearchPageVo jobEntity);

      JobModelVo getInfo(String id);
}
